package com.designpattern.StrategyPattern.example1;

/**
 * @Author yp
 * @Date 2021-05-24
 * @Description 策略模式
 *                  1、在测试类中，通过Context构造方法的不同参数，构造一个Strategy的具体子类
 *                  2、然后调用executeStrategy函数，在executeStrategy函数中可以看到，返回的是具体子类中调用的运算方法，
 *                  所以通过不同子类达到不同运算的效果
 *
 **/

public class Context {

    private Strategy strategy;

    public Context(Strategy strategy){
        this.strategy = strategy;
    }

    public int executeStrategy(int num1, int num2) {
        return strategy.doOperation(num1, num2);
    }
}
